@using BTCPayServer.Views.Stores
@using Microsoft.AspNetCore.Mvc.TagHelpers
@using BTCPayServer.Client
@model List<BTCPayServer.PayoutProcessors.UIPayoutProcessorsController.StorePayoutProcessorsView>
@{
    var storeId = Context.GetStoreData().Id;
    ViewData.SetLayoutModel(new LayoutModel(nameof(StoreNavPages.PayoutProcessors), StringLocalizer["Payout Processors"]).SetCategory(WellKnownCategories.Store));
}
<div class="sticky-header">
	<h2 class="my-1">@ViewData["Title"]</h2>
</div>

<partial name="_StatusMessage" />

<p text-translate="true">Payout Processors allow BTCPay Server to handle payouts in an automated way.</p>

<div class="row">
    <div class="col-xl-8 col-xxl-constrain">
        @if (Model.Any())
        {
            foreach (var processorsView in Model)
            {
                <h4 class="mt-5">@processorsView.Factory.FriendlyName</h4>
                <table class="table table-hover mt-0">
                    <thead>
                    <tr>
                        <th text-translate="true">Payment Method</th>
                        <th class="actions-col" permission="@Policies.CanModifyStoreSettings"></th>
                    </tr>
                    </thead>
                    <tbody>
                    @foreach (var conf in processorsView.Configured)
                    {
                        <tr>
                            <td>
                                @conf.Key.ToString()
                            </td>
                            <td class="actions-col" permission="@Policies.CanModifyStoreSettings">
                                @if (conf.Value is null)
                                {
                                    <a id="Configure-@conf.Key" href="@processorsView.Factory.ConfigureLink(storeId, conf.Key, Context.Request)" text-translate="true">Configure</a>
                                }
                                else
                                {
                                    <a id="Configure-@conf.Key" href="@processorsView.Factory.ConfigureLink(storeId, conf.Key, Context.Request)" text-translate="true">Modify</a>

                                    @if (await processorsView.Factory.CanRemove())
                                    {
                                        <span>-</span>
											<a asp-action="Remove" asp-route-storeId="@storeId" asp-route-id="@conf.Value.Id" data-bs-toggle="modal" data-bs-target="#ConfirmModal" data-description="The @Html.Encode(processorsView.Factory.FriendlyName) (@Html.Encode(conf.Key.ToString())) will be removed from your store." text-translate="true">Remove</a>
                                    }
                                }
                            </td>
                        </tr>
                    }
                    </tbody>
                </table>
            }
        }
        else
        {
            <p class="text-secondary mt-3" text-translate="true">
                There are no processors available.
            </p>
        }
    </div>
</div>

<partial name="_Confirm" model="@(new ConfirmModel("Delete payout processor", "This payout processor will be removed from this store.", StringLocalizer["Delete"]))" permission="@Policies.CanModifyStoreSettings" />
@section PageFootContent {
    <partial name="_ValidationScriptsPartial"/>
}
